using System;
using System.Collections.Generic;
using System.Text;
using System.ServiceModel;
using Sogeti.HIPAAJumpstartKit.Schemas;

namespace Sogeti.HIPAAJumpstartKit.Contracts
{
    [ServiceContract()]
    [XmlSerializerFormat()]
    public interface IClaimStorage
    {
        [OperationContract()]
        ClaimStorageResult RetrieveClaim(RetrieveClaimRequest req);

        [OperationContract()]
        List<HIPAAClaim> GetClaimsByCurrentStatus(string status);

        [OperationContract()]
        ClaimStorageResult StoreClaim(HIPAAClaim claim);

        [OperationContract(Name = "StoreClaimWithOptionalCheckOut")]
        ClaimStorageResult StoreClaim(HIPAAClaim claim, string userName, bool keepCheckedOut);
    }
}